Method for Using the GPU to Create Haptic Friction Maps

ABSTRACT

A haptics rendering system comprises: a display device having a display screen and one or more haptic feedback mechanisms associated with at least one tactile output peripheral; and a graphics processing unit (GPU) communicatively coupled to the display device. The GPU: receives one or more portions of display image software code for a three dimensional display image; generates a three dimensional (3D) visual output of the display image for display on the display device; and concurrently generates one or more specific friction maps to provide haptic feedback of depth and/or texture associated with specific portions of the display image that comprise at least one portion having at least one of a different depth and a different texture than other portions of the display image. The GPU renders the display image and the friction map from a same set of 3D commands within the display image software code.

BACKGROUND

1. Technical Field

The present disclosure generally relates to display devices utilizedwith information handling system and in particular to providing improvedpower efficiency and color accuracy of display devices.

2. Description of the Related Art

As the value and use of information continue to increase, individualsand businesses seek additional ways to process and store information.One option available to users is information handling systems. Aninformation handling system (IHS) generally processes, compiles, stores,and/or communicates information or data for business, personal, or otherpurposes, thereby allowing users to take advantage of the value of theinformation. Because technology and information handling needs andrequirements vary between different users or applications, informationhandling systems may also vary regarding what information is handled,how the information is handled, how much information is processed,stored, or communicated, and how quickly and efficiently the informationmay be processed, stored, or communicated. The variations in informationhandling systems allow for information handling systems to be general orconfigured for a specific user or specific use such as financialtransaction processing, airline reservations, enterprise data storage,or global communications. In addition, information handling systems mayinclude a variety of hardware and software components that may beconfigured to process, store, and communicate information and mayinclude one or more computer systems, data storage systems, andnetworking systems.

Many conventional information handling systems, including handheldcomputers and other handheld consumer devices, occasionally include atouch screen display that is utilized as a tactile/touch input device aswell as a visual output device. Additionally, certain of these displaysare further designed to provide haptic feedback in the form ofvibrations and/or pulses. Other types of haptic peripherals, such astouchpads and haptics mice are also utilized in some applications.However, with the conventional implementation of these devices, therange of sensations that can be provided and/or the ability to providetactile/tangible output is limited and requires implementation of aseparate haptic engine to capture the graphics frame buffer and processthe screen image. Currently these conventional methods either requiredirect software support of the feedback or a set of middleware thatmonitors the frame buffer and processes the current screen image. Thisapproach is processor-resource intensive and leads to lower battery lifein the electronic device. In addition, this approach has limitations onthe range of friction scenarios that can be extracted from the screenimage.

BRIEF SUMMARY

Disclosed are a method and rendering system for providing sensations ofsurface texture and depth and/or height dimensions associated with athree dimensional (3D) display image presented on a touch screen displayby using the graphical processing unit (GPU) to create and/or renderseparate friction maps and/or texture maps correlated to the displayimage. Also disclosed is an information handling system configured witha GPU and haptics subsystem that renders the texture and depth/heightdimensions by creating friction maps that trigger specific sensationsassociated with surfaces of objects within the display image.

According to one embodiment, the information handling system comprises:a processor capable of executing software code; at least one hapticperipheral, including one or more of a touchpad, a haptics mouse, and atouch screen display device having a display screen, a next generationhaptics peripheral; one or more haptic feedback mechanisms associatedwith the at least one haptic peripheral and disposed proximate to theassociated haptic peripheral for generating one or more sensationsassociated with a display image; and a graphics processing unit (GPU)communicatively coupled to the processor and to the display device. TheGPU: receives one or more portions of the software code corresponding tothe display image; and generates a three dimensional (3D) visual outputof the display image for display on the display device. The threedimensional visual output contains a width, height and a depthdimension, respectively representing x, y, and z planes. The GPU alsoconcurrently generates one or more specific friction maps to providehaptic feedback associated with specific portions of the display imagethat comprise at least one portion having at least one of a differentdepth and a different texture than other portions of the display image.According to one aspect, the GPU renders the display image and thefriction map from a same set of 3D commands within display imagesoftware code received from one or more of the processor and a displaydata input source.

According to a second embodiment, the method comprises: the GPUreceiving one or more portions of software code corresponding to adisplay image; generating a three dimensional (3D) visual output of thedisplay image for display on the display device; and concurrentlygenerating one or more specific friction maps to provide haptic feedbackassociated with specific portions of the display image that comprise atleast one portion having at least one of a different depth and adifferent texture than other portions of the display image. Also, themethod comprises the GPU rendering the display image and the frictionmap from a same set of 3D commands received from one or more of aprocessor of the information handling system and a display data inputsource. According to one aspect, the method further comprises: creatingthe friction map utilizing a z-level function, wherein an amount offriction is correlated to a closeness on a depth-plane of a surface ofan object within the display image relative to a background plane of thedisplay image. According to yet another aspect, the method comprises:passing the generated friction map to a haptic friction buffer totrigger the haptic subsystem to: process the generated friction mapwithin the haptic friction buffer; and in response to detecting acontact between an image interface tool and the haptic device (e.g.,passing of a screen interface stylus or finger, across the touch screenof the display device), apply a haptic response (such as a vibration) torepresent edges and surfaces of objects visually represented that are ata higher depth dimension than the background plane of the display image.The method further comprises: generating the haptic map withdepth/height dimension parameter values, which trigger an increase in ahaptic response, such as a higher vibration intensity, at one or morepoints of the display image in response to functional interfacing of theimage interface tool at a location of the display screen at which asurface of an object within the display image is visibly closer in adepth-plane than a background of the display image, where an amount ofincrease in the feedback (e.g., vibration) intensity correlates to aheight of the surface of the object relative to the background; andchanging, via the haptic subsystem, an intensity of the feedback (e.g.,vibration) based on a relative depth dimension of each point of anobject over which the image interface tool functionally interfaces(i.e., indirectly interfacing via an on-screen cursor). Accordingly, ahigher object on a z-plane triggers more intense haptic response (e.g.,greater vibration intensity) than a lower object on the z-plane, andobjects that appear closer in the display image are provided with aperceived/sensed higher level of resistance to a detected contact of thescreen interface stylus at that location of the display screen.

According to another aspect of the second embodiment, the methodcomprises: receiving within display image software code an indication ofspecific friction textures to assign to one or more rendered objects;generating the haptic map, based on the received software codeindications, to include one or more parameter values that represent thespecific friction textures to apply to a surface of each of the one ormore rendered objects to enable an image interface tool to detect thespecific friction texture of each of the one or more rendered objects;and providing within the haptic map one or more parameter values thatrepresent different textures. The different textures are applied to oneor more of a surface of an object within a window and an entire windowto enable an image interface tool to detect an applied texture across anentire surface of the object and the window. Also, according to oneaspect, the method provides that the GPU renders the display image,places the display image in a normal frame buffer for display, andplaces one of the display image and the haptic map correlated to thedisplay image into a texture buffer, whose contents are passed to thehaptics subsystem for mapping onto a touch-haptics device.

In accordance with a third embodiment, a three dimensional (3D) textureand haptics rendering system comprises: a display device having adisplay screen; at least one haptic peripheral, including one or more ofa touch screen, a touchpad, a haptics mice and a next generation hapticsdevice; one or more haptic feedback mechanisms associated with arespective haptic peripheral and disposed proximate to the hapticsperipheral for generating one or more sensations associated with adisplay image; and a graphics processing unit (GPU) communicativelycoupled to the display device. The GPU (a) receives one or more portionsof the display image software code of a three dimensional display image,(b) generates a three dimensional (3D) visual output of the displayimage for display on the display device, and (c) concurrently generatesone or more specific friction maps to provide haptic feedback associatedwith specific portions of the display image that comprise at least oneportion having at least one of a different depth and a different texturethan other portions of the display image. The GPU renders the displayimage and the friction map from a same set of 3D commands within thedisplay image software code.

The above summary contains simplifications, generalizations andomissions of detail and is not intended as a comprehensive descriptionof the claimed subject matter but, rather, is intended to provide abrief overview of some of the functionality associated therewith. Othersystems, methods, functionality, features and advantages of the claimedsubject matter will be or will become apparent to one with skill in theart upon examination of the following figures and detailed writtendescription.

BRIEF DESCRIPTION OF THE DRAWINGS

The description of the illustrative embodiments can be read inconjunction with the accompanying figures. It will be appreciated thatfor simplicity and clarity of illustration, elements illustrated in thefigures have not necessarily been drawn to scale. For example, thedimensions of some of the elements are exaggerated relative to otherelements. Embodiments incorporating teachings of the present disclosureare shown and described with respect to the figures presented herein, inwhich:

FIG. 1 illustrates an example information handling system, within whichseveral of the features of the disclosed embodiments can be implemented,according to one or more embodiments;

FIG. 2 illustrates an example touch screen display device having ahaptics subsystem that enables haptic feedback to be provided based onhaptic texture data received from a graphics processing unit (GPU), inaccordance with one or embodiment;

FIG. 3 is a block diagram illustrating one example of a threedimensional haptics and texture image rendering system, according to oneembodiment;

FIG. 4 is a block diagram illustrating functional components and logicwithin an example haptic feedback mechanism, according to one or moreembodiments;

FIG. 5 is a flow chart illustrating one embodiment of a method by whichthe GPU processes received to generate both image data and haptictexture data associated with depth and texture of surfaces of thedisplayed image;

FIG. 6 is a flow chart illustrating one embodiment of a method by whichthe haptic subsystem responds to receipt of haptics texture data duringinteraction with an associated display image by an image interface tool;and

FIG. 7 illustrates an example image have varying depths/heights within athree dimensional X-Y-Z plane, according to one embodiment.

DETAILED DESCRIPTION

The illustrative embodiments provide a method and a rendering system forproviding sensations of surface texture and depth and/or heightdimensions associated with a three dimensional (3D) display imagepresented on a touch screen display by using the graphical processingunit (GPU) to create and/or render friction and/or texture mapscorrelated to the display image. Also disclosed is an informationhandling system configured with a GPU and haptics subsystem that rendersthe texture and depth/height dimensions by creating friction maps thattrigger specific sensations associated with surfaces of objects withinthe display image. According to one embodiment, a three dimensional (3D)graphics rendering system comprises: at least one haptic peripheral,including one or more of a touchpad, a haptics mouse, and a touch screendisplay device having a display screen, and a next generation hapticsperipheral; one or more haptic feedback mechanisms associated with theat least one haptic peripheral and disposed proximate to the associatedhaptic peripheral for generating one or more sensations associated witha display image; and a graphics processing unit (GPU) communicativelycoupled to the display device. The GPU: receives one or more portions ofdisplay image software code for a three dimensional display image;generates a three dimensional (3D) visual output of the display imagefor display on the display device; and concurrently generates one ormore specific friction maps to provide haptic feedback of depth and/ortexture associated with specific portions of the display image thatcomprise at least one portion having at least one of a different depthand a different texture than other portions of the display image. TheGPU renders the display image and the friction map from a same set of 3Dcommands within the display image software code.

In the following detailed description of exemplary embodiments of thedisclosure, specific exemplary embodiments in which the disclosure maybe practiced are described in sufficient detail to enable those skilledin the art to practice the disclosed embodiments. For example, specificdetails such as specific method orders, structures, elements, andconnections have been presented herein. However, it is to be understoodthat the specific details presented need not be utilized to practiceembodiments of the present disclosure. It is also to be understood thatother embodiments may be utilized and that logical, architectural,programmatic, mechanical, electrical and other changes may be madewithout departing from general scope of the disclosure. The followingdetailed description is, therefore, not to be taken in a limiting sense,and the scope of the present disclosure is defined by the appendedclaims and equivalents thereof.

References within the specification to “one embodiment,” “anembodiment,” “embodiments”, or “one or more embodiments” are intended toindicate that a particular feature, structure, or characteristicdescribed in connection with the embodiment is included in at least oneembodiment of the present disclosure. The appearance of such phrases invarious places within the specification are not necessarily allreferring to the same embodiment, nor are separate or alternativeembodiments mutually exclusive of other embodiments. Further, variousfeatures are described which may be exhibited by some embodiments andnot by others. Similarly, various requirements are described which maybe requirements for some embodiments but not other embodiments.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. Moreover, the use of the terms first,second, etc. do not denote any order or importance, but rather the termsfirst, second, etc. are used to distinguish one element from another.

It is understood that the use of specific component, device and/orparameter names and/or corresponding acronyms thereof, such as those ofthe executing utility, logic, and/or firmware described herein, are forexample only and not meant to imply any limitations on the describedembodiments. The embodiments may thus be described with differentnomenclature and/or terminology utilized to describe the components,devices, parameters, methods and/or functions herein, withoutlimitation. References to any specific protocol or proprietary name indescribing one or more elements, features or concepts of the embodimentsare provided solely as examples of one implementation, and suchreferences do not limit the extension of the claimed embodiments toembodiments in which different element, feature, protocol, or conceptnames are utilized. Thus, each term utilized herein is to be given itsbroadest interpretation given the context in which that terms isutilized.

Within the descriptions of the different views of the figures, the useof the same reference numerals and/or symbols in different drawingsindicates similar or identical items, and similar elements can beprovided similar names and reference numerals throughout the figure(s).The specific identifiers/names and reference numerals assigned to theelements are provided solely to aid in the description and are not meantto imply any limitations (structural or functional or otherwise) on thedescribed embodiments.

Various aspects of the disclosure are described from the perspective ofan information handling system and a display device of or for use withan information handling system. For purposes of this disclosure, aninformation handling system, such as information handling system 100,may include any instrumentality or aggregate of instrumentalitiesoperable to compute, classify, process, transmit, receive, retrieve,originate, switch, store, display, manifest, detect, record, reproduce,handle, or utilize any form of information, intelligence, or data forbusiness, scientific, control, or other purposes. For example, aninformation handling system may be a handheld device, personal computer,a server, a network storage device, or any other suitable device and mayvary in size, shape, performance, functionality, and price. Theinformation handling system may include random access memory (RAM), oneor more processing resources such as a central processing unit (CPU) orhardware or software control logic, ROM, and/or other types ofnonvolatile memory. Additional components of the information handlingsystem may include one or more disk drives, one or more network portsfor communicating with external devices as well as various input andoutput (I/O) devices, such as a keyboard, a mouse, and a video display.The information handling system may also include one or more busesoperable to transmit communications between the various hardwarecomponents.

With reference now to the figures, and beginning with FIG. 1, there isdepicted a block diagram representation of an example informationhandling system 100, within which one or more of the described featuresof the various embodiments of the disclosure can be implemented.Information handling system 100 includes at least one central processingunit (CPU) or processor 105 coupled to system memory 110 via systeminterconnect 115. Also coupled to CPU 105 via system interconnect 115 isa graphics processing unit (GPU) 125 with associated firmware/drivers,which can include a friction map generating (FMG) utility 160, in oneembodiment. System interconnect 115 can be interchangeably referred toas a system bus, in one or more embodiments. Also coupled to systeminterconnect 115 is nonvolatile storage (NVRAM) 117, within which can bestored one or more software and/or firmware modules and one or more setsof data, such as display image software code, that can be utilizedduring operations of information handling system 100. These one or moresoftware and/or firmware modules can be loaded into system memory 110during operation of IHS 100. Specifically, in one embodiment, systemmemory 110 can include therein a plurality of such modules, includingone or more of firmware (F/W), basic input/output system (BIOS),operating system (O/S), and application(s). These software and/orfirmware modules have varying functionality when their correspondingprogram code is executed by CPU 105 or secondary processing devices,such as GPU 125, within information handling system 100.

It is appreciated that the display device described within the variousembodiments can be a display configured for use as a stand alone displaydevice requiring a cable or other form of connection to a separatedevice that generates images and/or data for display on the displaydevice. Additionally, the display device can also be a part of theactual electronic device, such as a liquid crystal display (LCD)utilized with tablet computers, smartphones, personal electronicdevices, and single integrated personal computing systems.

Example information handling system 100 includes a battery 130 and apower management module 135 that provides power to the variouscomponents of the general system, including CPU 105 and GPU 125, as wellas to display device 150, in one embodiment.

Example information handling system 100 also includes input/output (I/O)controller 140, which provides connectivity and management of one ormore connected input device(s) of which touchpad 145 is illustrated.Additionally, as provided herein, information handling system includes atouch screen display device 150 that can be utilized for tactile inputas well as tactile and visual output. Other I/O devices, which are notshown but can be provided, include a keyboard, mouse, microphone, orother type of connected input devices. Of these devices, one or more canbe configured as a haptic peripheral, similar to touchpad 145 andtouchscreen of display device 150. For example, a haptics mouse can beutilized with information handling system and be associated with ahaptics subsystem, as described in greater detail hereinafter. Aspectsof the disclosure contemplate applying the described functionality tonext generation tactile output (haptic) devices/peripherals, which canbe a hybrid of the existing peripherals or a completely new peripheralthat can be programmed to provide specific haptic response to texture,depth and other qualities of a displayed image based on haptic texturedata generated and/or provided by the GPU 125. In one embodiment, theinformation handling system 100 can include one or more input mechanismsthat enable input of display image software code from an external sourcedirectly to the GPU 125 for processing. Additionally, in one or moreembodiments, information handling system 100 can include one or moredevice interfaces 142, such as an optical reader, a universal serial bus(USB) port, a card reader, Personal Computer Memory Card InternationalAssociation (PCMIA) slot, and/or a high-definition multimedia interface(HDMI). Device interface(s) 142 can be utilized to enable data to beread from or stored to corresponding removal storage device(s), such asa compact disk (CD), digital video disk (DVD), flash drive, or flashmemory card.

Indicated with dashed blocks are three firmware/hardware implementedmodules that enable GPU to be able to provide the functional featuresdescribed herein. Specifically, located on graphics card 120 is apersistent storage block containing friction map generating (FMG)utility 160. In one embodiment, FMG utility 160 can be firmware thatexecutes on GPU 125 to cause GPU 125 to perform the various processesdescribed herein and illustrated within the flow charts of FIG. 5. In analternate embodiment, FMG utility 160 can be located within GPU 125 as apart of the device driver utility of GPU 125. According to one or morealternate embodiments, FMG utility 160 can be an application functionthat runs on GPU 125. In addition to FMG utility 160 various aspects ofthe disclosure involves the implementation within the display system ofboth a display frame buffer 162 as well as a separate haptics framebuffer 164. According to one embodiment, display frame buffer 162 andhaptics frame buffer 164 can be located within system memory 110. In analternate embodiment, provided by FIG. 1, both buffers 162 and 164 canbe located within a separate memory or storage (M/S) 120 off the GPU125. Other functional components that are utilized to generate thedisplay image with haptics feedback to create depth and texturesensations are provided within the descriptions of FIG. 2 and FIG. 3.

FIG. 2 provides an example configuration of internal components ofdisplay device 150. As shown, display device 150 includes an exteriorcasing 205, which can be a part of the overall casing of a larger system(e.g., information handling system 100) within which the display device150 is utilized. Display device 150 further comprises a display screen155 which is an exterior surface through which display images can beviewed. According to one embodiment, display device 150 can be a liquidcrystal display (LCD). However, any other type of display technology canbe utilized within the described embodiments. Display device 150 furthercomprises one or more touch sensitive mechanisms 210 disposed proximateto and parallel to the display screen 155 and which is coupled to one ormore electronic circuits 225 that enables the recordation of a locationof a touch by and/or presence of a screen interface stylus or finger onthe surface of display screen 155. One or more processing capabilitiesof the electronic circuit(s) 225 involve determining an exact locationon the display screen of the point(s) of contact by the screen interfacestylus. This information is then provided to haptic subsystem 230, totrigger generation of the appropriate haptic response.

As utilized herein, the term screen interface stylus represents aphysical object that interfaces with the display screen. In one or moreembodiments, the screen interface stylus can be a human finger, or hand,or other body part. An actual electromechanical or mechanical stylus canalso be utilized in other embodiments, possibly supporting nextgeneration haptic capabilities. Also, while the illustrative embodimentis shown and described from the perspective of a display device with atouch screen interface, it is understood that the features describedherein are fully applicable to any type of haptic peripheral or tactileoutput peripherals, including a touchpad, haptics mouse, and otherhaptic devices designed for use with a computer having a GPU that canrender haptic friction maps. Also, the manner of interfacing with thevisual surface of the display image is not necessarily by actualphysical touch of a surface adjacent to the display image. And referenceis made herein to a virtual or functional interfacing, which refers toindirectly interfacing with an image via an on-screen cursor. Forexample, with a touchpad or haptic mouse, the movement of the visibleon-screen cursor over the particular location of the image is detectedand mapped to the specific location of the display image. Thecorresponding haptic map is then retrieved, and the haptic dataassociated with the cursor location is conveyed to the feedbacksubsystem. The feedback subsystem then triggers a haptic response on thetouch pad and/or the mouse.

Also, for completeness in describing the overall concepts of thedisclosure, reference is made herein to an image interface tool, whichis defined generally as one or more of the screen interface stylus (orfinger), the cursor associated with a corresponding tactile outputperipheral (touchpad and/or mouse), etc. Also, reference is made to“functional/virtual interfacing” to explain the process of interfacingwith the image utilizing the cursor from a haptic peripheral, such as atouchpad and/or haptic mouse being utilized as an interfacing device.

As further shown by FIG. 2, display device 150 comprises one or morehaptic feedback mechanism(s) 220 that can be triggered to cause one ormore haptic feedbacks relative to the display device 150 and/or theoverall system. As utilized herein, the haptic feedback can include, butis not limited to, one or more of a vibration, a pulse, and a tone, orother tactile feedback that causes a user of the tactile outputperipheral to sense a tactile response to some stimulus. As describedherein, the stimulus can include at least one of the presence of atexture on a surface of an object within the display image and therelative depth or height dimension of an edge and/or surface of anobject that is different from a depth or height attributed to abackground of the display image. According to one embodiment, thetexture, depth and height sensation is presented at a window level,across an entire surface area of the displayed object rather than at theedge of the window or object. In one embodiment, the haptic feedbackmechanism 220 is a part of an overall haptic subsystem 230. Hapticsubsystem 230 is communicatively coupled to haptic friction buffer 164,which as provided by FIG. 1, receives friction maps rendered from thedisplay image software code by GPU 125. Depending on implementation, asdescribed below, GPU 125 can be located within an external processingsystem or internal to the structure represented by casing 205 of displaydevice 150. As shown, display device 150 also comprises displaysubsystem 240, which controls the presentation of a display image on thedisplay screen 155. Display subsystem 240 is communicatively coupled todisplay frame buffer 162, which receives friction maps rendered from thedisplay image software code by GPU 125. In an alternate embodiment,haptic friction buffer 164 and display frame buffer 162 are respectivelylocated within haptic subsystem 230 and display subsystem 240. Inanother alternate embodiment, haptic friction buffer 164 and displayframe buffer 162 are both located within NVRAM 250 or memory storage 120(FIG. 1).

FIG. 2 further illustrates two possible implementations of displaydevice 150. In one embodiment, display device 150 is simply a standalone display device that is then communicatively connected to aprocessing system, such as a computer or video game machine to receiveimage data for display thereon. In this embodiment, display device 150can comprise only components indicated to the right of the dashedvertical line. In an alternate embodiment, display device 150 is a partof a fully functional integrated system, such as a personal digitalassistant (PDA), cellular phone, or hand held game machine. With thisalternate embodiment, display device 150 has associated therewithintegrated CPU 110 and GPU 125, as well as NVRAM 250 within which thebuffers, functional application code, and other software and firmwarecan be stored.

FIG. 3 is a block diagram representation of the main functionalcomponents of an example configuration of a two dimensional (2D) and/orthree dimensional (3D) haptics rendering system 300. The 3D hapticsrendering system (“system”) 300 includes a touch screen display device150 having a display screen 155 on which a display image is provided.The display device 150 also includes one or more haptic feedbackmechanisms 220 disposed proximate to the display screen 155 forgenerating one or more sensations associated with a display image.Additionally and/or alternatively, the system can also include one ormore other tactile output peripherals 320 utilized to provide the hapticfeedback, in one or more embodiments. The system also comprises agraphics processing unit (GPU) 125 communicatively coupled to thedisplay device 150 and haptic feedback mechanisms 220 via a displaysubsystem 240 and a haptic subsystem 230, respectively, along separateprocessing paths. Specifically, GPU 125 is coupled to display framebuffer 162, which provides display data to display subsystem 240 along adisplay image rendering path, and GPU 125 is also coupled to hapticfriction buffer 164, which provides haptic parameters to hapticsubsystem 230 along a haptics rendering path.

During graphics image processing within one or more embodiments of theinformation handling system and/or the 3D graphics rendering system, GPU125 receives one or more portions of the display image software code ofa three dimensional display image; and generates a three dimensional(3D) visual output of the display image for display on the displaydevice. According to one aspect of the disclosure, the three dimensionalvisual output contains a width, height and a depth dimension,respectively representing x, y, and z planes. Additionally, GPU 125concurrently generates one or more specific friction maps to providehaptic feedback associated with specific portions of the display image.The specific portions of the display image include at least one portionhaving at least one of a different depth and a different texture thanother portions of the display image. Thus, the GPU 125 renders thedisplay image and the friction map from a same set of 3D commands withinthe display image software code.

According to one or more embodiments of the information handling systemand/or the 3D graphics rendering system, the GPU 125 further creates thefriction map utilizing a z-level function. With this z-level function,an amount of friction is correlated to a closeness on a depth-plane of asurface of an object within the display image relative to a backgroundplane of the display image. The GPU 125 passes the generated frictionmap to the haptic friction buffer 164, which is coupled between the GPU125 and the haptic subsystem 230, and the haptic friction buffer 164temporarily holds friction maps generated by the GPU 125 correspondingto the display image.

The haptic subsystem 230 processes the generated friction map within thehaptic friction buffer 164. Then, in response to detecting a passing ofan image interface tool (such as a screen interface stylus or a mouse ortouchpad cursor) across the display screen, the haptic subsystem 230generates a haptic response utilizing haptic response mechanisms 210associated with the display device 150. The haptic response is providedwithin at least one of an encompassing device (e.g., the informationhandling system) and either the display screen 155 or display device 150via haptic feedback mechanism 220 and/or tactile output peripheral 320.In one embodiment, the haptic response mechanism 210 and/or tactileoutput peripheral 320 applies a vibration to represent edges andsurfaces of objects visually represented below the screen interfacestylus that are at a higher depth dimension than the background plane ofthe display image.

According to one or more embodiments of the information handling systemand/or the 3D graphics rendering system, the GPU 125 generates thehaptic map with depth/height dimension parameter values, which triggeran increase in feedback intensity at one or more points of the displayimage in response to detection of passing of the image interface toolacross the display screen at a location of the display screen at which asurface of an object within the display image is visibly closer in adepth-plane than a background of the display image. Further, accordingto one aspect of the disclosure, the amount of increase in the feedbackintensity correlates to a height of the surface of the object relativeto the background. Also, the haptic subsystem 230 changes an intensityof the feedback (e.g., vibration) based on a relative depth dimension ofeach point of an object over which the image interface tool passes.Thus, a higher object on a z-plane triggers greater feedback intensitythan a lower object on the z-plane, and objects that appear closer inthe display image are provided with a higher level of resistance to adetected contact of the screen interface stylus at that location of thedisplay screen 155.

According to one or more embodiments of the information handling systemand/or the 3D graphics rendering system, the GPU further: receiveswithin display image software code an indication of specific frictiontextures to assign to one or more rendered objects; generates the hapticmap, based on the received software code indications, to include one ormore parameter values that represent the specific friction textures toapply to a surface of each of the one or more rendered objects to enablea screen interface stylus to detect the specific friction texture ofeach of the one or more rendered objects; and provides within the hapticmap one or more parameter values that represent different textures. Inone or more aspects, the different textures are applied to one or moreof a surface of an object within a window and an entire window to enablea screen interface stylus to detect an applied texture across an entiresurface of the object and the window. Also, in one or more embodiments,the GPU renders the display image, places the display image in a normalframe buffer for display, and places one of the display image and thehaptic map correlated to the display image into a texture buffer, whosecontents are passed to the haptics subsystem for mapping onto atouch-haptics device.

Aspects of the disclosure provide that the above described informationhandling system 100 comprises: a processor 105 capable of executingsoftware code and which is also communicatively connected to thegraphics processing unit (GPU) 125. The GPU 125 is also communicativelycoupled to the display device 150. According to one embodiment, the GPU125 renders the display image and the friction map from a same set of 3Dcommands within display image software code received from one or more ofthe processor and a display data input source. In the illustrativeembodiment of FIG. 1, the GPU 125 is presented as being discrete fromthe CPU 105, while in the illustrative embodiments of FIGS. 2 and 3, GPU125 is presented as being physically integrated within or connected toCPU 105 and/or CPU integrated circuit. Both representations aresupported by the various described embodiments.

Certain aspects of the described disclosure are related to and provideadditional capabilities in the natural user interface (NUI) space fordriving more interactive touch capabilities. By utilizing the GPU(whether integrated into or discrete from the processor) to create thefriction maps, a much more efficient system is provided that enables thesystem to provide friction feedback without significant applicationeffort or additional processing. As described herein, the variousembodiments of the disclosure involves utilizing the GPU to render afriction map along with the standard display image from the same set ofreceived 3D commands/instructions for generating the 3D display image.The friction map is created from a z-level function, whereby the amountof friction, which can be a level of vibration intensity, in oneimplementation, increases as the z axis or z plane is closer to the user(i.e., closer to a front of the display screen relative to a backgroundimage). As utilized herein, the z axis or z plan dimension is indicativeof a depth and/or height of a surface relative to a background level,which can be assumed to be a 0 point in the zth dimension. Thisrepresentation of the differing friction levels (e.g., vibrationintensity) would create the tactile sensory feedback that the imagebackgrounds are smooth and that closer objects have a higher level ofresistance to the touch.

According to one aspect of the disclosure, an enhancement is made to theapplication programming interface (API) that enables created softwarecode to trigger the GPU to create and or render friction textures inaddition to the visual textures. Using graphics rendering techniques,the GPU 125 will render friction maps into the haptic buffer from wherethe friction map will then be scanned out and formatted for thetouch-haptic device. Additionally, the contents of the frame buffer arescanned out and formatted for the video display.

One aspect of this disclosure further allows for differing textures ofwindows so that one window positioned in front of another window wouldhave a different feel to the entire window, and not just to the edge ofthe window. Certain aspects of this disclosure can be extended to 3Dgames so that the user would be able to target objects better by gettingresistance as the user's finger crosses an object that is not part ofthe background.

According to one embodiment, rather than have the GPU automaticallygenerate the haptic maps from received image data software code,specific software code can be written with particular friction texturessuch that particular rendered objects would have or be provided with anassigned (i.e., by the software code) texture so that users moving theirfingers along and/or touching the display screen would detect a frictionfeedback that would approximate the composition of the 3D display image.For example, in one or more embodiments, the software code could includehaptic-generating code for providing a feeling of skin, wood, metal, orcloth, and the GPU 125 would process that code and then directly map thespecific texture desired and/or programmed by the application programmeron to the surface of the specific object and/or surface within thedisplay image. Notably, according to one aspect of the disclosure, thesemappings would occur by the GPU 125 using the same 3D object renderingcommands, but also concurrently processing the friction texture inaddition to the image texture.

Notably, regardless of whether the GPU 125 independently generated thefriction maps based on the enhancement to GPU driver (i.e., theextending of the firmware to include FMG utility) or in response toexecution of a pre-programmed software code with the haptic codeincluded therein, the GPU 125 would render both the display image in thenormal display frame buffer 162 for display and the friction maps into atexture buffer, haptic friction buffer 164. The friction maps can thenbe passed to the haptics subsystem 230 for mapping onto the tactileoutput peripheral/device.

The present disclosure is applicable to a wide range of consumerelectronics devices which supports programmable haptic feedback via oneor more of a variety of haptic feedback mechanisms and/or methodologies.The specific manner in which the haptic feedback mechanisms operates toprovide the texture and depth dimension sensations described herein arenot restricted to any one of the available and/or future developedhaptic feedback technologies. Importantly, the disclosed embodimentsprovide full surface friction mapping, in contrast with an approach thatwould involve capturing the graphics frame buffer and performing edgedetection on the screen image to find edges, borders and otherboundaries. The edge detection method requires either direct softwaresupport of the feedback or a set of middleware that monitors the framebuffer and creates an edge map of the current screen image. This edgedetection approach is CPU resource intensive and leads to lower batterylife of the system. In addition, this approach has limitations on therange of friction scenarios that can be extracted from screen image.

FIG. 4 illustrates an example haptic feedback subsystem, which includeslogic components as well as physical components of haptic feedbackmechanisms to provide specific haptic response based on received hapticdata. Haptic feedback subsystem 230 comprises logic components 402-406responsible for responding to a detection of a presence of an imageinterface tool over a surface of displayed image. At logic block 402,haptic feedback subsystem 230 determines which tactile output peripheralis being utilized to interface with the display image. At logic block404, haptic feedback subsystem 230 retrieves haptic friction data fromthe haptic buffer 164. Then, at logic block 406, haptic feedbacksubsystem 230 processes the haptic friction data with the locationinformation received and knowledge of the specific tactile outputperipheral and forwards the required haptic data to trigger theappropriate haptic response by the tactile output peripheral. As shown,haptic feedback subsystem 230 can include a plurality of haptic feedbackmechanisms/components associated with tactile output peripherals,including haptic feedback mechanisms/components of touchscreen 422,touchpad 424, haptic mouse 426, and other next generation (NG) tactileoutput peripheral(s) 428. Each peripheral has it own associated driver.Accordingly, logic block 406 of haptic feedback subsystem 230 forwardsthe haptic data to one or more of touchscreen driver 412, touchpaddriver 414, haptic mouse driver 416, and other NG peripheral driver 418.The receiving driver in turn triggers the haptic response of thecorresponding tactile output peripheral.

FIG. 7 illustrates an example object surface projecting into a zthdimension away from a background of the display image within the threedimensional axes, x, y, and z. As presented by the first two directionalarrows to the left of the axis, the z axis represents one or more of (a)the depth and/or height of the object's surface at a particular locationmapped within the x-y coordinates, and/or (b) the relative roughness ofother discernible characteristics of the texture of the object'ssurface. Additionally, as shown by the third directional arrow, the zaxis also indicates the rate and/or level of haptic response provided bythe display device as the object projects/visually extends further awayfrom the background (visually appearing “out of” the display screen).This arrow also indicates the haptic response level (e.g., a vibrationintensity) that is provided by the haptic response mechanism and/orhaptic subsystem as the surface height and/or texture increases in thezth dimension. The object surface is generally represented by the lineobject having points identified relative to the X, Y, Z plane. Payingspecific attention to the Z plane, points A and E are intended to conveythe background plane of the display image. Points B and C indicatedifferent surface levels as the object gradually increases in heightaway from the background. As the screen interface stylus (e.g., theuser's finger) moves along this surface, the vibration intensityincreases gradually between point A-B-C-D to give the sensation ofmoving up along the side of a triangular shaped object. The vibrationlevel across surface indicated at point D remains constant, as thesurface does not change its height relative to the background. Finally,movement from the surface at D to the surface at E provides a suddenreduction in the amount of vibrations such that a sensation equivalentto a sudden drop in altitude is experienced by the changes invibrations. According to one embodiment, no vibrations are providedwhile moving along a background surface of the display image. Also, oneor more embodiments can also allow for a different haptic feedback forsurfaces that are below the zero point on the z axes, as with a creviceor hole below the background surface of the display image.

It should be noted that while most of the description herein reference athree dimensional application, aspects of the disclosure are fullyapplicable to rendering of two dimensional display images as well. Withthese implementations, the GPU processes a 2D object for display and thesoftware also triggers the GPU to map specific textures to the 2Dobjects being displayed. These simpler implementations are squarelywithin the functionality described for the three dimensional renderingsby the GPU.

Referring now to FIGS. 5 and 6, there are illustrated two flow charts ofthe methods for providing sensations of surface texture and depth and/orheight dimensions associated with a three dimensional (3D) display imagepresented on a touch screen display, according to one or moreembodiments. Aspects of the methods are described with reference to thecomponents of FIGS. 1-3 and the image graph of FIG. 4. Several of theprocesses of the method 500 of FIG. 5 can be implemented by the GPU 125executing display image software code and/or friction map generation(FMG) utility 160 within an information handling system that includesone or more tactile output peripherals, such as a the touch screendisplay device having a display screen, and one or more haptic feedbackmechanisms disposed within or proximate to the tactile output peripheralfor generating one or more tactile sensations associated with a displayimage. Other method processes for method 600 of FIG. 6 can be completeddirectly by the haptic subsystem 230 and/or the haptic responsemechanism 220. For simplicity in describing the methods, the processescan be generally described as being performed by the 2D/3D hapticsrendering system 300, which encompasses each of the GPU 125, hapticsubsystem 130 and associated haptic response mechanism 220.

The method 500 of FIG. 5 begins at start block and proceeds to block502, which provides a graphics processing unit (GPU) receiving one ormore portions of software code corresponding to a display image. Themethod then provides the GPU generating a three dimensional (3D) visualoutput of the display image for display on the display device (block504). The method further includes the GPU rendering the display image,and placing the display image in a display image frame buffer fordisplay (block 505).

According to one aspect, the three dimensional visual output contains awidth, height and a depth dimension, respectively representing x, y, andz planes. The method further includes alternate embodiments of the GPUconcurrently generating one or more specific friction maps to providehaptic feedback associated with specific portions of the display imagethat comprise at least one portion having at least one of a differentdepth and a different texture than other portions of the display image.To implement a code-based versus a GPU firmware-based embodiment, themethod includes the GPU determining at block 506 whether the displayimage software code includes haptic code segments, which provides anindication of specific friction textures to assign to one or morerendered objects receiving within the display image software code. Inresponse to the display image software code including haptic codesegments, the method includes generating the haptic map, based on thereceived software code indications (haptic code segments) (block 508).With this implementation, the haptic/friction map includes one or moreparameter values that represent the specific friction textures to applyto a surface of each of the one or more rendered objects to enable animage interface tool (and/or the associated tactile output peripheral)to detect the specific friction texture of each of the one or morerendered objects.

However, according to one alternate embodiment, if at decision block506, no haptic code segments are provided within the received displayimage software code, the method comprises the GPU creating the frictionmap utilizing a z-level function, wherein an amount of friction iscorrelated to a closeness on a depth-plane of a surface of an objectwithin the display image relative to a background plane of the displayimage (block 510). According to one implementation, this aspect of themethod 500 further comprises: generating the haptic map withdepth/height dimension parameter values, which trigger an increase in avibration intensity at one or more points of the display image inresponse to detection of a presence or contact of an image interfacetool at a location of the display screen at which a surface of an objectwithin the display image is visibly closer in a depth-plane than abackground of the display image. This aspect of the method furtherprovides for correlating values of the depth/height dimension parametersutilized for the haptic response to the depth dimension of a surface,whereby an amount/level of the haptic response (e.g., an increase invibration intensity) correlates to a height of the surface of the objectrelative to the background.

According to one embodiment, the method includes the GPU rendering thedisplay image and the friction map from a same set of 3D commandsreceived from one or more of a processor of the information handlingsystem and a display data input source. In one or more embodiments,method 500 further includes a determination at block 512 of whether thehaptic map renders textures in addition to and/or in place of depths ofthe display image. In response to the haptic map rendering textures, themethod 500 includes providing within the haptic map one or moreparameter values that represent different textures (block 514). Thedifferent textures are applied to one or more of a surface of an objectwithin a window and an entire window to enable an image interface toolto detect an applied texture across an entire surface of the object andthe window.

Regardless of whether the haptic map is generated from specific hapticcode segments or from general display image code executed by the GPU,the method further comprises the GPU passing the generated friction mapto the haptic friction buffer to trigger the haptic subsystem to processthe generated friction map within the haptic friction buffer (block516). According to one implementation, this aspect of the methodinvolves placing one of the display image and the haptic map correlatedto the display image into a texture buffer, whose contents are passed toa haptics subsystem for mapping onto a touch-haptics device (block 514).The method 500 then ends at end block.

Referring now to FIG. 6, the method 600 begins at start block andproceeds to block 602 which indicates the haptic subsystem detecting acontact and/or presence of a screen interface stylus across the displayscreen while an image is being presented on the screen. The methodfurther includes the haptic subsystem: retrieving a correspondingfriction map from the haptic friction buffer coupled between the GPU andthe haptic subsystem and which temporarily holds friction maps generatedby the GPU (block 604); and applying the indicated haptic response(e.g., a vibration to represent edges and surfaces of objects) for theobject surface visually located/presented below the image interface toolthat is at a higher depth dimension than the background plane of thedisplay image or has a different texture relative to a smooth imagesurface (block 606). Accordingly, the information handling systemcomprises: a haptic subsystem for generating a haptic response within atleast one of the information handling system and the display screen,utilizing haptic response mechanisms associated with the display deviceand/or other tactile output peripherals; and a haptic friction bufferseparate from a display frame buffer. The method 600 further includeschanging, via the haptic subsystem, a level of haptic response/feedback(e.g., an intensity of the vibration) based on a relative depthdimension of each point of an object over which the image interface toolpasses (block 608). Accordingly, a higher object on a z-plane triggersgreater feedback (e.g., vibration) intensity than a lower object on thez-plane, and objects that appear closer in the display image areprovided with a higher level of resistance to a detected contact orpresence of the image interface tool at that location of the displayscreen. The method then ends at the end block.

In the above described flow charts, one or more of the method processesmay be embodied in a computer readable device containing computerreadable code such that a series of steps are performed when thecomputer readable code is executed on a computing device. In someimplementations, certain steps of the methods are combined, performedsimultaneously or in a different order, or perhaps omitted, withoutdeviating from the scope of the disclosure. Thus, while the method stepsare described and illustrated in a particular sequence, use of aspecific sequence of steps is not meant to imply any limitations on thedisclosure. Changes may be made with regards to the sequence of stepswithout departing from the spirit or scope of the present disclosure.Use of a particular sequence is therefore, not to be taken in a limitingsense, and the scope of the present disclosure is defined only by theappended claims.

Aspects of the present disclosure are described above with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. Computer program code for carrying outoperations for aspects of the present disclosure may be written in anycombination of one or more programming languages, including an objectoriented programming language, without limitation. These computerprogram instructions may be provided to a processor of a general purposecomputer, special purpose computer, such as a GPU, or other programmabledata processing apparatus to produce a machine, such that theinstructions, which execute via the processor of the computer or otherprogrammable data processing apparatus, performs the method forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

As will be further appreciated, the processes in embodiments of thepresent disclosure may be implemented using any combination of software,firmware or hardware. Accordingly, aspects of the present disclosure maytake the form of an entirely hardware embodiment or an embodimentcombining software (including firmware, resident software, micro-code,etc.) and hardware aspects that may all generally be referred to hereinas a “circuit,” “module,” or “system.” Furthermore, aspects of thepresent disclosure may take the form of a computer program productembodied in one or more computer readable storage device(s) havingcomputer readable program code embodied thereon. Any combination of oneor more computer readable storage device(s) may be utilized. Thecomputer readable storage device may be, for example, but not limitedto, an electronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device, or any suitable combinationof the foregoing. More specific examples (a non-exhaustive list) of thecomputer readable storage device would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer readable storage device may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

While the disclosure has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the disclosure. Inaddition, many modifications may be made to adapt a particular system,device or component thereof to the teachings of the disclosure withoutdeparting from the essential scope thereof. Therefore, it is intendedthat the disclosure not be limited to the particular embodimentsdisclosed for carrying out this disclosure, but that the disclosure willinclude all embodiments falling within the scope of the appended claims.

The description of the present disclosure has been presented forpurposes of illustration and description, but is not intended to beexhaustive or limited to the disclosure in the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope of the disclosure. Thedescribed embodiments were chosen and described in order to best explainthe principles of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. An information handling system comprising: aprocessor capable of executing software code; a display device having adisplay screen; one or more haptic feedback mechanisms associated withat least one tactile response peripheral and which generate one or moresensations associated with a display image; and a graphics processingunit (GPU) communicatively coupled to the processor and to the displaydevice and which: receives one or more portions of the software codecorresponding to the display image; generates one of a two dimensional(2D) and a three dimensional (3D) visual output of the display image fordisplay on the display device, wherein the three dimensional visualoutput contains a height, a width and a depth dimension relative to a 2Dplane; and concurrently generates one or more specific friction maps toprovide haptic feedback associated with specific portions of the displayimage that comprise at least one portion having at least one of adifferent depth and a different texture than other portions of thedisplay image.
 2. The information handling system of claim 1, whereinthe GPU renders the display image and the friction map from a same setof 3D commands within display image software code received from one ormore of the processor and a display data input source.
 3. Theinformation handling system of claim 1, wherein the GPU further: createsthe friction map utilizing a z-level function, wherein an amount offriction is correlated to a closeness on a depth-plane of a surface ofan object within the display image relative to a background plane of thedisplay image.
 4. The information handling system of claim 3, furthercomprising: a haptic subsystem for generating a haptic response withinat least one of the tactile output peripherals, utilizing hapticresponse mechanisms associated with the particular tactile outputperipherals; a haptic friction buffer coupled between the GPU and thehaptic subsystem and which temporarily holds friction maps generated bythe GPU; wherein the GPU passes the generated friction map to the hapticfriction buffer; and wherein the haptic subsystem: processes thegenerated friction map within the haptic friction buffer; and inresponse to detecting at least one of a presence, a contact and afunctional interfacing of an image interface tool with a surface of thedisplay image, applies a haptic response to represent edges and surfacesof objects visually represented below the image interface tool that areat a higher depth dimension than the background plane of the displayimage.
 5. The information handling system of claim 4, wherein the hapticsubsystem further: changes a level of haptic feedback based on arelative depth dimension of each point of an object over which the imageinterface tool passes, wherein a higher object on a z-plane triggers agreater haptic feedback than a lower object on the z-plane, whereinobjects that appear closer in the display image are provided with ahigher level of resistance to a detected contact of the screen interfacestylus at that location of the display screen, wherein when the hapticfeedback includes vibrations, the haptic subsystem changes an intensityof the vibration based on at least one of (a) a relative location of thesurface within the z-plane and (b) a texture of the surface.
 6. Theinformation handling system of claim 1, wherein the GPU: generates thehaptic map with depth/height dimension parameter values, which triggeran higher level of haptic feedback at one or more points of the displayimage in response to detection of a presence, contact, or functionalinterfacing of an image interface tool at a location of the displayscreen at which a surface of an object within the display image isvisibly closer in a depth-plane than a background of the display image,wherein a level of haptic feedback, including an increase in vibrationintensity, correlates to a height of the surface of the object relativeto the background.
 7. The information handling system of claim 1,wherein the GPU further: provides within the haptic map one or moreparameter values that represent different textures, wherein thedifferent textures are applied to one or more of a surface of an objectwithin a window and an entire window to enable an image interface toolto detect an applied texture across an entire surface of the object andthe window.
 8. The information handling system of claim 1, wherein theGPU further: receives within display image software code an indicationof specific friction textures to assign to one or more rendered objects;and generates the haptic map, based on the received software codeindications, to include one or more parameter value that represent thespecific friction textures to apply to a surface of each of the one ormore rendered objects to enable an image interface tool to detect thespecific friction texture of each of the one or more rendered objects;wherein the GPU renders the display image, places the display image in anormal frame buffer for display, and places one of the display image andthe haptic map correlated to the display image into a texture buffer,whose contents are passed to the haptics subsystem for mapping onto oneor more of the tactile output peripherals.
 9. A method performed withinan information handling system having a display device with a displayscreen and one or more haptic feedback mechanisms associated with atleast one tactile response peripheral and which generates one or moresensations associated with a display image, the method comprising: agraphics processing unit (GPU) receiving one or more portions ofsoftware code corresponding to a display image; generating one of a twodimensional (2D) and a three dimensional (3D) visual output of thedisplay image for display on the display device, wherein the threedimensional visual output contains a height, a width, and a depthdimension relative to a 2D plane; and concurrently generating one ormore specific friction maps to provide haptic feedback associated withspecific portions of the display image that comprise at least oneportion having at least one of a different depth and a different texturethan other portions of the display image.
 10. The method of claim 9,further comprising rendering the display image and the friction map froma same set of 3D commands received from one or more of a processor ofthe information handling system and a display data input source.
 11. Themethod of claim 9, further comprising: creating the friction maputilizing a z-level function, wherein an amount of friction iscorrelated to a closeness on a depth-plane of a surface of an objectwithin the display image relative to a background plane of the displayimage.
 12. The method of claim 9, wherein: the information handlingsystem further comprises: a haptic subsystem for generating a hapticresponse within at least one of the tactile output peripherals,utilizing haptic response mechanisms associated with the specifictactile output peripherals; and a haptic friction buffer coupled betweenthe GPU and the haptic subsystem and which temporarily holds frictionmaps generated by the GPU; and the method further comprises passing thegenerated friction map to the haptic friction buffer to trigger thehaptic subsystem to: process the generated friction map within thehaptic friction buffer; and in response to detecting at least one of apresence of, a contact, and a functional interfacing by an imageinterface tool with a surface of the display image, apply a hapticfeedback to represent edges and surfaces of objects visually representedbelow the screen interface stylus that are at a higher depth dimensionthan the background plane of the display image.
 13. The method of claim12, further comprising: changing, via the haptic subsystem, a level ofhaptic feedback based on a relative depth dimension of each point of anobject over which the screen interface stylus passes, wherein a higherobject on a z-plane triggers a greater haptic feedback than a lowerobject on the z-plane, wherein objects that appear closer in the displayimage are provided with a higher level of resistance to a detectedcontact of the image interface tool at that location of the displayscreen; wherein when the haptic feedback includes vibrations, the methodcomprises changing an intensity of the vibration based on at least oneof (a) a relative location of the surface within the z-plane and (b) atexture of the surface.
 14. The method of claim 9, further comprising:generating the haptic map with depth/height dimension parameter values,which trigger a higher level of haptic feedback at one or more points ofthe display image in response to detection of a presence, contact, orfunctional interfacing of an image interface tool at a location of thedisplay screen at which a surface of an object within the display imageis visibly closer in a depth-plane than a background of the displayimage, wherein an amount of increase in the feedback intensitycorrelates to a height of the surface of the object relative to thebackground.
 15. The method of claim 9, further comprising: providingwithin the haptic map one or more parameter values that representdifferent textures, wherein the different textures are applied to one ormore of a surface of an object within a window and an entire window toenable an image interface tool to detect an applied texture across anentire surface of the object and the window.
 16. The method of claim 9,further comprising: receiving within display image software code anindication of specific friction textures to assign to one or morerendered objects; and generating the haptic map, based on the receivedsoftware code indications, to include one or more parameter values thatrepresent the specific friction textures to apply to a surface of eachof the one or more rendered objects to enable an image interface tool todetect the specific friction texture of each of the one or more renderedobjects; wherein the GPU renders the display image, places the displayimage in a normal frame buffer for display, and places one of thedisplay image and the haptic map correlated to the display image into atexture buffer, whose contents are passed to the haptics subsystem formapping onto one or more of the tactile output peripherals.
 17. Ahaptics rendering system comprising: a touch screen display devicehaving a display screen and one or more haptic feedback mechanismsdisposed proximate to the display screen for generating one or moresensations associated with a display image; and a graphics processingunit (GPU) communicatively coupled to the display device and which:receives one or more portions of the display image software code of athree dimensional display image; generates a three dimensional (3D)visual output of the display image for display on the display device,wherein the three dimensional visual output contains a height, a widthand a depth dimension; and concurrently generates one or more specificfriction maps to provide haptic feedback associated with specificportions of the display image that comprise at least one portion havingat least one of a different depth and a different texture than otherportions of the display image; wherein the GPU renders the display imageand the friction map from a same set of 3D commands within the displayimage software code.
 18. The haptics rendering system of claim 17,wherein: the GPU further creates the friction map utilizing a z-levelfunction, wherein an amount of friction is correlated to a closeness ona depth-plane of a surface of an object within the display imagerelative to a background plane of the display image; and the systemfurther comprises: a haptic subsystem for generating a haptic responsewithin at least one tactile output peripheral, utilizing haptic responsemechanisms associated with the tactile output peripheral; a hapticfriction buffer coupled between the GPU and the haptic subsystem andwhich temporarily holds friction maps generated by the GPU; wherein theGPU passes the generated friction map to the haptic friction buffer; andwherein the haptic subsystem: processes the generated friction mapwithin the haptic friction buffer; and in response to detecting apresence, contact, or functional interfacing of an image interface toolacross a surface of the display image, applies a haptic response torepresent edges and surfaces of objects visually represented below theimage interface tool that are at a higher depth dimension than thebackground plane of the display image.
 19. The haptics rendering systemof claim 17, wherein: the GPU generates the haptic map with depth/heightdimension parameter values, which trigger an increase in a feedbackintensity at one or more points of the display image in response todetection of a presence, contact, or functional interfacing of an imageinterface tool at a location of the display screen at which a surface ofan object within the display image is visibly closer in a depth-planethan a background of the display image, wherein an amount of increase inthe feedback intensity correlates to a height of the surface of theobject relative to the background; and the haptic subsystem furtherchanges an intensity of the haptic response based on a relative depthdimension of each point of an object over which the image interface toolpasses, wherein a higher object on a z-plane triggers a greater hapticresponse than a lower object on the z-plane, wherein objects that appearcloser in the display image are provided with a higher level ofresistance to a detected presence, contact, or functional interfacing ofthe image interface tool at that location of the display image.
 20. Thehaptics rendering system of claim 17, wherein the GPU further: receiveswithin display image software code an indication of specific frictiontextures to assign to one or more rendered objects; generates the hapticmap, based on the received software code indications, to include one ormore parameter values that represent the specific friction textures toapply to a surface of each of the one or more rendered objects to enablean image interface tool to detect the specific friction texture of eachof the one or more rendered objects; and provides within the haptic mapone or more parameter values that represent different textures, whereinthe different textures are applied to one or more of a surface of anobject within a window and an entire window to enable the imageinterface tool to detect an applied texture across an entire surface ofthe object and the window; wherein the GPU renders the display image,places the display image in a normal frame buffer for display, andplaces one of the display image and the haptic map correlated to thedisplay image into a texture buffer, whose contents are passed to thehaptics subsystem for mapping onto a tactile output device.